﻿#ifndef TCPCODEC_USER_H
#define TCPCODEC_USER_H

#include <qobject.h>
#include "ObjAutoInject.h"
#include "TcpCodecBase.h"

class Mapper_Device;
class RegisterCenter_Device;
class TcpCodec_User : public QObject,public ObjAutoInject,public TcpCodecBase
{
  Q_OBJECT
public:
  enum {
    AllDevice=0
  };
private://dependency
  Mapper_Device* mapper_Device=Q_NULLPTR;
  RegisterCenter_Device* registerCenter_Device=Q_NULLPTR;
public:
  explicit TcpCodec_User();
  virtual ~TcpCodec_User();
signals:
public:
  virtual DataPackage_TcpCodec* decode(DataPackage_TcpCodec* dataPackageInfo_User)override;
public://geter and seter
  Mapper_Device* getMapper_Device()const;
  TcpCodec_User* setMapper_Device(Mapper_Device* const mapper_Device);
  RegisterCenter_Device* getRegisterCenter_Device()const;
  TcpCodec_User* setRegisterCenter_Device(RegisterCenter_Device* const registerCenter_Device);
public:
  virtual void objectAutoInjection(QHash<QString,QObject*>* objMap)override;
};

#endif // TCPCODEC_USER_H
